1. Field of the Invention
The present invention relates to allocation of a common communication medium by a plurality of stations, and particularly to allocation as a function of the type and priority of the messages to be communicated.
2. Description of the Prior Art
Common data communication media capable of carrying communication between a plurality of stations typically take forms such as coaxial cables, optical fibers, radio frequency channels and microwave channels. Typically, the stations comprise components of a distributed data processing or process control system such as microprocessors, controllers, loggers, visual displays, etc. Some stations are active in the sense that they transmit and receive communications. Other stations are passive in that they only receive communication.
To ensure accurate communications and minimal conflict, various protocols have been implemented in the past. One type of protocol simply uses one designated station or a central controller to determine which station will transmit its data packet and when. This approach, however, is subject to failure when the designated station or central controller malfunctions or its connection to the communication medium is impaired.
In another type of protocol labelled "token pass", each station interactively passes control of the communication medium to another station by passing a "token". The token is usually part of a data packet and indentifies the station which is to receive the token and hence control the communication medium. Problems with the token pass protocol occur if the token is lost, or if two tokens somehow are generated, or if some stations never receive the token. With any of the above problems, communication is momentarily disrupted, and relatively complex recovery techniques must be invoked to restore communication.
Numerous other protocols exist for allocating use of a communication medium without a central controller. In broadcast recognition access method (BRAM) protocols, each transmitted packet identifies its station of origin. Each receiving station sets a transmit timeout based on the difference between its local address and the source address of the last packet. The station with the shortest timeout has the first opportunity to transmit. Other stations receive that transmission, and suspend their own transmissiion until the transmission is complete. The source address of the last transmission now is used to compute the timeout for each station.
In other protocols, such as carrier sense multiple access (CSMA) protocols, each station generates a random time delay for initiation of transmission following the end of the last transmission. Collisions are detected and the messages are retransmitted. A station will not initiate a transmission so long as activity is detected on the communication medium.
The above schemes make no provision for differing message priorities. Hence, low priority messages may tie up the communication medium, delaying transmission of higher priority messages, especially where all stations are capable of transmitting both high and low priority messages. This is of extreme concern in distributed process control systems which typically control critical chemical, manufacturing or other industrial processes.